Growth in demand for WLANs is driving the development of new technology to provide higher throughput. To a greater extent this growth is due to the increased number of users and applications desiring wireless transmission and to a lesser extent to the emergence of new applications needing higher transmission rates along a single connection between two points. Previous work has focused on increasing link throughput. This is necessary for single-stream high throughput applications. While it helps increase aggregate throughput, it is not the only way to do so. A MAC-based approach that enables prioritized access to data channels is presented.
There is a single control (logical) channel at each control radio. This control channel is used by each control radio for time reservations on data channel(s) and for acknowledgements. The control channel does not change dynamically (fast).
Data channel(s) are the channels used by nodes to transmit data traffic. Each node may transmit always on the same data channel(s), or it may select a channel to transmit on demand (dynamic channel assignment).
In a wireless mesh network, the BSS Channel is the channel used by Mesh Access Points (MAPs) for transmissions within its BSS. For simplicity of presentation, it is assumed that a MAP uses different channels for mesh and BSS traffic. The CCC MAC protocol thus operates independently of the BSS MAC.
A TXOP (transmit opportunity) is a sequence of frames transmitted between a pair of nodes following a single contention for the channel. A Source node is the node initiating the TXOP, and the Destination node is the node receiving the TXOP.
A CC-RTS frame is the frame used by a node initiating a TXOP. The CC-RTS includes a source node; a destination node; a source node transmit channel; a Reservation Duration; and the Number of Frames in TXOP. The CC-RTS may further include additional information.
A CC-CTS frame is used by a node accepting a TXOP. The CC-CTS includes a source node; a source node transmit channel; a Duration; a Number of Frames in TXOP; and a Radio Counter. The CC-CTS may further include additional information.
If acknowledgement of receipt of transmission is desired, it can be sent either on the data channel or on the control channel. An acknowledgement on the control channel, known as the CC-ACK, identifies the individual frame in a sequence of frames that were received successfully (similar to 802.11e Group Ack). The CC-ACK includes the destination node; the source node; the source node transmit channel; and the TXOP frame receipt status. Sending a CC-ACK requires contention-based access to the control channel.
A node with frames to transmit to a neighbor sets its data radio to transmit on a permissible data channel, sends a CC-RTS on the control channel to the destination node, and waits for a CC-CTS, which contains the acceptance or denial of the channel reservation request for the selected/assigned data channel.
If the destination node receives the CC-RTS, it sends a CC-CTS. The CC-CTS will contain a zero in the Duration field if the destination node does not accept the reservation request in the CC-RTS. A CC-CTS is not sent if the Duration field or the Number of Frames field contains a zero in the CC-RTS.
If the destination node accepts the reservation request in the CC-RTS, the destination node sets a data radio to receive on the data channel assigned/selected by the source node. If the destination node receives the same CC-RTS in the SIFS plus tx time, it sends another CC-CTS and waits for a time interval equal to SIFS plus CC-CTS tx duration. If the CC-CTS has not arrived at the source node by the expiration of SIFS plus CC-RTS tx duration plus CC-CTS tx duration, it transmits within SIFS another CC-RTS on the control channel.
If the CC-CTS is received within a time interval comprising the SIFS plus the CC-RTS tx duration plus the CC-CTS tx duration by the source node, and the Duration field has a zero value, the source node sends a CC-RTS to the destination node with the Duration field set to zero. If the CC-CTS is received within a time interval equal to the SIFS plus the CC-RTS tx duration plus the CC-CTS tx duration by the source node, and the Duration field has been changed to a longer value, the source node sends a CC-RTS to the destination node with the Number of frames set to zero. If the CC-CTS has arrived within the time interval equal to the SIFS plus the CC-RTS tx duration plus the CC-CTS tx duration at the source node, and the Duration field has a non-zero value, the source node transmits the frame(s) in the TXOP. If so requested, the destination node will send an acknowledgement when the expected frames are received either on the data channel or on the control channel.
A NAV is defined as a time period a node must refrain from transmitting on a channel. The CC-RTS is a reservation request from the source, which is either granted or denied by the destination, and notice is sent to the source in the CC-CTS. The response contains the remaining reservation duration in order to notify the neighbors of the destination node. To avoid collisions, each node keeps a NAV for each channel, control and data, which is set according to the received reservation requests and responses. The NAV is the time period the node must refrain from transmitting on the channel, and is updated when a node receives a reservation request or a response to the reservation request.
Data traffic can be transmitted only when the selected data channel is idle. The reservation process may start before the data channel becomes idle. Contention for the control channel and the transmission of a CC-RTS and CC-CTS can take place while the data channel is still busy. Traffic prioritization is more effective if data channel reservations are made right before the data channel becomes idle.